﻿
using System;
using sharpxbot.Core.Messaging;
using sharpxbot.Core.Security;
using sharpxbot.Plugins.Context;
namespace sharpxbot.Plugins.Base
{
    public interface IPlugin : IProcessor
    {
        IPluginContext Context { get; }

        /// <summary>
        /// Permissions to execute plugin, view usage and view in plugins list
        /// </summary>
        PluginPermissions NeededPermissions { get; }

        string Name { get; }

        string Description { get; }

        string Author { get; }

        string Usage { get; }

        Guid GUID { get; }
    }
}
